package com.webwork.common.util;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang3.StringUtils;

/**
 * 
 *
 */
public class ServletUtil {

	/**
	 * 将字符串渲染到客户端
	 * @param response 渲染对象
	 * @param string 待渲染的字符串
	 * @return null
	 */
	public static String renderString(HttpServletResponse response, String string) {
		try {
			response.setContentType("application/json");
			response.setCharacterEncoding("utf-8");
			response.getWriter().print(string);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * 是否是Ajax异步请求
	 * @param request
	 */
	public static boolean isAjaxRequest(HttpServletRequest request) {
		String accept = request.getHeader("accept");
		if (!StringUtils.isEmpty(accept) && accept.indexOf("application/json") != -1) {
			return true;
		}
		String xRequestedWith = request.getHeader("X-Requested-With");
		if (!StringUtils.isEmpty(xRequestedWith) && xRequestedWith.indexOf("XMLHttpRequest") != -1) {
			return true;
		}
		String uri = request.getRequestURI();
		if (StrUtil.inStringIgnoreCase(uri, ".json", ".xml")) {
			return true;
		}
		String ajax = request.getParameter("__ajax");
		if (StrUtil.inStringIgnoreCase(ajax, "json", "xml")) {
			return true;
		}
		return false;
	}

}
